There are many different types of protocols for communicating between network entities, such as computer systems coupled to a communications network. Such networks may be, for example, point-to-point networks, shared networks such as busses, or any other media or network configuration type. To communicate, two entities (e.g., computer systems, devices, hardware, and/or software) need to use and support the same or similar communication protocol. As communicating entities change and grow in features and complexity, there is an ever-present need to support additional protocols between them to accommodate changes of the communicating devices, user interfaces and of the communication media between them.
Advances in technology have brought a proliferation of devices which can read and gather data from many different sources. Devices can remotely monitor parameters including temperature, traffic, weather, bridge stress, power problems, water leaks, alarm conditions, stock quotes, and others. These devices generally exist as stand-alone sensors or as small elements within a larger system.
Similar advances in technology have produced a myriad of choices to present data gathered by such devices to users. Users can read gathered data on computer terminal screens, handheld computers, wireless telephones, portable sound players, luminescent orbs, highway signs and others. These devices all have attributes that lend themselves uniquely to one or more, but not all communication methods for sending and/or receiving data. Some communication methods involve some type of communication medium, including wireless, wired busses, wired point-to-point, optical, optical cable, and others. Such communication methods also involve some data transmission method or modulation referred to in the art as a communication protocol. Protocols used to send data across such media are even more plentiful. Examples include the well-known communication protocols such as Ethernet, RS232, RS485, USB, Wi-Fi, and IrDA protocols, among others. There are many different communication methods involving different media and protocols, depending on the application.
According to one aspect of the present invention, it is appreciated that in many applications where many devices gather and send data to a much smaller group of listeners or users of data, there is a need to make the data gatherer smaller, less complex, to reduce overall system cost, while on the user's end there is a need to retain or increase the computing power in order to process and display the received data in a way that increases overall system usefulness.
Higher-level protocols typically used to transmit data, such as HTTP are common used in today's network and computing environments to transmit data. The advantage to using these methods for groups of many devices is that low-cost widely available software can read data in a common format and the data is made available to anyone with a personal computer or other widely available compatible hardware. However, one disadvantage of these higher-level protocols is that they require significant microprocessor resources, which increase the cost of the many devices deployed to gather data.
Current state of the art systems have subsystems gathering data, which either present their data to users in higher level protocols or present data to an intermediary system (proxy) using an extremely low level method (such as an analog signal). The disadvantages of the former subsystems are that they are expensive, having to support a higher-level protocol and they may become outdated as the high-level means and methods connecting them to their users changes. Also, because there may be real-time data acquisition and/or control requirements, there may not be enough processor bandwidth to support such high-level protocols. The disadvantages of the low level subsystems are that the information is subject to external interference and low performance rendering such systems useful for no more than simple sensors located close to the user of data or its proxy.